﻿Imports DTO
Imports BUS
Imports DAO

Public Class ucThemSach

    Private Sub btnThem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnThem.Click
        lbThongBao.Text = ""
        '
        'kiem tra du lieu
        '
        If txtTenSach.Text = "" And txtTenTG.Text = "" And cboTheLoai.Text = "" Then
            MessageBox.Show("Chưa nhập đủ thông tin!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            Return
        End If
        'regular expression
        Dim bool As Boolean = True
        Dim thuong = "ạáàãảâậấầẩẫăặắằẳẵđẹéèẻẽêệếềểễíìỉĩịọòóỏõôộỗổồốơợớờởỡúùủũụưựứừửữ"

        Dim HOA = "ẠÁÀẢÃĂẶẰẮẲẴÂẤẦẨẪẬĐÉÈẼẺẸÊẾỀỂỄỆIÍÌỈĨỊỌÒÓỎÕÔỘỒỐỔỖƠỜỚỢỞỠÚÙỦŨỤƯỰỬỮỨỪ"

        Dim regex = "^[0-9 ]*([A-Z" & HOA & "]{1}[a-z" & thuong & "]+[ ]{1})+[0-9 ]*[A-Z" & HOA & "]{1}[a-z" & thuong & "]+[0-9 ]*$"
        If Not Check(txtTenSach.Text, regex) Then
            lbThongBao.Text = "Tên sách chỉ nhập chữ cái và số,và phải viết Hoa chữ cái đầu.VD: Lập Trình 01 " & vbNewLine
            bool = False
        End If
        regex = "^([A-Z" & HOA & "]{1}[a-z" & thuong & "]+[ ]{1})+[A-Z" & HOA & "]{1}[a-z" & thuong & "]+$"

        If Not Check(txtTenTG.Text, regex) Then
            lbThongBao.Text &= "Tên tác giả không hợp lệ!"
            bool = False
        End If

        If Not bool Then
            lbThongBao.Visible = True
            Exit Sub
        End If
        'kiem tra ton tai
        Dim sBUS As New SachBUS
        Dim sDTO As New SachDTO
        sDTO.TenSach = txtTenSach.Text
        sDTO.MaTL = cboTheLoai.SelectedValue
        sDTO.TenTG = txtTenTG.Text
        sDTO.SoLuong = 0

        Dim s As IQueryable(Of Sach) = sBUS.TimKiem(sDTO)
        If s.Count > 0 Then
            lbThongBao.Text = "Sách đã tồn tại!"
            lbThongBao.Visible = True
            Exit Sub
        End If
        '
        'Thêm sách
        '
        Try
            sBUS.Them(sDTO)

            lbThongBao.Text = "Nhập sách thành công"
            lbThongBao.Visible = True
        Catch ex As Exception
            MessageBox.Show(ex.Message, "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning)
        End Try
    End Sub

    Private Sub ucThemSach_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        lbThongBao.Visible = False

        Dim tlBUS As New TheLoaiBUS
        Dim theloais = tlBUS.LayBang()

        cboTheLoai.DataSource = theloais

        cboTheLoai.ValueMember = "MaTL"
        cboTheLoai.DisplayMember = "TenTL"
    End Sub
End Class
